#version 450
#extension GL_ARB_separate_shader_objects : enable

layout(push_constant) uniform PushConstants {
    mat4 projection;
    mat4 modelview;
} pc;

layout(location = 0) in vec3 inPosition;
layout(location = 1) in vec3 inNormal;
layout(location = 2) in vec3 ijk;
layout(location = 3) in vec4 inTexCoord;

layout (location = 0) out vec3 outIJK;
layout (location = 1) out vec4 viewWorld;

out gl_PerVertex 
{
    vec4 gl_Position;   
};

void main() 
{
    outIJK = ijk;
    viewWorld = pc.modelview * vec4(inPosition.xyz, 1.0);
    gl_Position = pc.projection * viewWorld;
}
